// 1. 引入readline模块（处理命令行输入输出）
const readline = require('readline');

// 2. 创建readline接口（配置输入流和输出流）
const rl = readline.createInterface({
  input: process.stdin,  // 输入流：键盘
  output: process.stdout // 输出流：控制台
});

// 3. 定义保存用户信息的对象
const userInfo = {};

// 4. 定义提问顺序（数组：每个元素含“提示文本”和“对象属性名”）
const questions = [
  { prompt: '请输入您的姓名：', key: 'name' },
  { prompt: '请输入您的邮箱：', key: 'email' },
  { prompt: '请输入您的QQ号：', key: 'qq' },
  { prompt: '请输入您的手机号码：', key: 'phone' }
];

// 5. 递归实现逐条提问（按questions顺序）
function askQuestion(index) {
  // 递归终止条件：所有问题已问完
  if (index >= questions.length) {
    rl.close(); // 关闭readline接口
    // 打印完整用户信息
    console.log('\n=== 您输入的完整信息 ===');
    console.log(userInfo);
    return;
  }

  // 当前问题
  const { prompt, key } = questions[index];
  // 提问并读取输入
  rl.question(prompt, (answer) => {
    // 保存输入到userInfo（去空格）
    userInfo[key] = answer.trim();
    // 提问下一个问题（索引+1）
    askQuestion(index + 1);
  });
}

// 6. 启动提问（从第一个问题开始，索引=0）
askQuestion(0);